1. Field of the Invention
The present invention relates generally to computer simulations using the finite element method, and more specifically, to a method for switching between the implicit finite element method and the explicit finite element method during a simulation.
2. Related Art
The finite element method is a technique for obtaining approximate numerical solutions to boundary value problems which predict the response of physical systems subjected to external loads. The finite element method is described in detail by Thomas J. R. Hughes in “The Finite Element Method” (1987), published by Prentice-Hall, Inc., New Jersey, which is incorporated herein by reference in its entirety. One common use of the finite element method is in the field of solid mechanics where it is used to analyze structural problems such as the formation of stamped sheet metal parts or the springback of stamped sheet metal parts.
In general, finite element analysis begins by generating a finite element model of a system. In this model, a subject structure is reduced into a number of node points which are connected together to form finite elements. Governing equations of motion are written in a discrete form, where the motions of each node point are the unknown part of the solution. A simulated load or other influence is applied to the system and the resulting effect is analyzed using well known mathematical methods.
Two such mathematical methods are the implicit finite element method (“the implicit method”) and the explicit finite element method (“the explicit method”). These methods are used to solve transient dynamic equations of motion and thus obtain static equilibrium solutions to the equations. When obtaining the static equilibrium solutions, the effects of inertia are not included. Since the effects of inertia are not included, the implicit method can be used to solve the governing equations directly, but the explicit method can provide only approximate solutions. Conventional computer simulations are performed using either implicit method finite element software or explicit method finite element software.
The implicit method is characterized by the formation of a stiffness matrix to represent the interaction of nodal motions within the structure. In the implicit solution process, the stiffness matrix is assembled, its inverse is computed, and this inverse is applied to an array of nodal forces to produce a solution of nodal displacements. For nonlinear problems, these displacements are tested to verify that they satisfy the governing equations of motion. If the equations are not satisfied, an iterative procedure is applied to refine the accuracy of the solution. When a satisfactory solution is finally obtained, the iterative process is said to have converged. Successful convergence of these iterations is not guaranteed and can be very difficult in practice.
The implicit solution procedure can be described mathematically as follows: A statement of static equilibrium may be written as a balance of internal and external forces at each node point in the modelfint(u)=fext where fint(u) and fext are the discrete vectors of internal and external forces, and for brevity only fint is expressed as a function of the nodal displacement vector u. At each load step (time step) during the simulation, a displacement vector is sought which satisfies equilibrium according to the above equation. The equations describing this iterative search are obtained by performing a first order Taylor series expansion about the displacement solution at iteration (i+1), and moving known terms from iteration (i) to the rightu(i+1)=u(i)+ΔU fint(u(i)=Δu)=fext
                    ∂                  f          int                            ∂        u              ⁢          (              u                  (          i          )                    )        ⁢    Δ    ⁢                  ⁢    u    =            f      ext        -                  f        int            ⁡              (                  u                      (            i            )                          )            K(u(i))Δu=R(i) 
where K represents the stiffness matrix of the structure, R represents the out-of-balance or residual force vector, and Δu represents the increment or change in displacement which advances the solution from iteration (i) to iteration (i+1).
The solution is initialized for time step (n+1) using the equilibrium displacement solution from the previous time step (n)u(n+1)(0)=u(n) The solution is then advanced iteratively by successively solving for the displacement increment, and then updating the total displacementΔu=K−1(u(i))R(i) u(i+1)=u(i)+Δu 
When the correct equilibrium solution is found, both the residual force vector and the displacement increment become zero. Norms of these vectors are used to evaluate the accuracy of a solution during the iteration process, and to test for convergence of the equilibrium iterations. The product of displacement increment and residual force can be computed to give the incremental internal energy of the model, which can be monitored for excessive growth to detect divergence of the equilibrium iteration process.
An advantage of the implicit method is that a solution which satisfies static equilibrium can be computed directly. Another advantage of the implicit method is that there is no algorithmic limit to time step size. Loads can typically be applied in tens or hundreds of steps, rather than millions of steps.
A disadvantage of the implicit method is that a stiffness matrix must be formed and inverted. Assembling and inverting the stiffness matrix in a typical application requires a relatively large amount of computer CPU and memory resources. For example, in a typical automotive application, the dimensions of the stiffness matrix can be more than one million by one million. Another disadvantage of the implicit method is that convergence of the nonlinear equilibrium iteration process is not guaranteed. Successful convergence at each step of the solution requires proper choice of load step (time step), and good performance of the numerical models for material behavior and contact interaction between parts. Each simulation presents a new set of difficulties, so that reliable solutions are not always available even for expert users of the method.
The explicit method is based on a statement of dynamic equilibrium: force is equal to the product of mass and acceleration. This condition is applied independently at each node point. Thus, at each node point, forces are assembled, and the acceleration of each node is computed simply by dividing by nodal mass. This process is repeated as the solution is incrementally advanced in time, integrating the nodal accelerations to obtain velocity and displacement. In order for this solution to remain accurate, a limit is placed on the maximum size of the time step. This limit, known as the Courant condition, is typically less than one microsecond in automotive applications. This means that over one million time steps are often required to simulate one second of structural response.
The explicit solution procedure can be described mathematically as follows: A statement of dynamic equilibrium may be written as a balance between inertial, internal and external forces at each node point in the modelMa+fint(u)=fext 
where M is the nodal mass matrix, a is the nodal acceleration vector, and fint(u) and fext are the discrete vectors of internal and external forces, and for brevity only fint is expressed as a function of the nodal displacement vector u. The solution is advanced by solving the above equation for the acceleration at time (n), and then applying the central difference method to obtain nodal velocity and displacement vectorsv(n+1/2)=v(n−1/2)+a(n)Δt u(n+1)=u(n−1)+v(n+1/2)Δt 
The Courant condition provides a limit for the maximum stable time step Δt, which can be written as
      Δ    ⁢                  ⁢    t    <      h    c  
where h is the material sound speed, and c is the size of the smallest element in the model.
An advantage of the explicit method is that relatively small amount of computer CPU and memory resources are required, since a stiffness matrix is not used. Another advantage of the explicit method is that convergence is not a problem, since no equilibrium iterations are necessary.
A disadvantage of the explicit method is that static equilibrium can only be approximated. Another disadvantage of the explicit method is that the Courant time step size limit requires potentially hundreds of thousands of time steps to be computed during each simulation, which significantly slows the solution process. Yet another disadvantage of the explicit method is that techniques for accelerating the solution process, such as mass scaling, introduce artificial dynamic effects which are difficult to quantify and control.
As mentioned above, conventional simulations are performed using either implicit method finite element software or explicit method finite element software. However, simulations performed using implicit method finite element software suffer from the disadvantages of the implicit method mentioned above, and simulations performed using explicit method finite element software suffer from the disadvantages of the explicit method mentioned above.
Thus, what is needed is a method that overcomes the disadvantages of conventional finite element simulations.